Upper and lower bounds for one-write multivalued regular registers
نویسندگان
چکیده
This paper presents an algorithm for implementing a k-ary regular register (the logical register) using k(k -1 )/2 binary regular registers (the physical registers) that requires only one physical write per logical write. The algorithm is simple to describe and depends on properties of paths in a related graph. Two lower bounds on the number of registers required by one-write implementations are given. The first lower bound holds for a restricted class of implementations and implies that our algorithm is optimal for this class. The second lower bound, 2k -1flog kl, holds for a more general class of algorithms. Both lower bounds improve on the best previously known lower bound, which was k. Both lower bounds use a general technique that we have formalized for "fooling the reader" into violating the regular property. Our second lower bound uses a general result for transforming a one-write algorithm into another one-write algorithm for fewer logical values using fewer physical registers. We show that for any one-write algorithm, there is no advantage, in terms of number of physical registers, to be gained if readers write, or if different readers follow different protocols, or if a reader's protocol depends on its history. Furthermore, for our second class of algorithms, there is also no advantage to be gained if the reader reads some physical registers more than once. These results are shown using transformation techniques similar to the one mentioned previously. t Contact Author. E-mail: [email protected]
منابع مشابه
Bounds on the Costs of Multivalued Register Implementations
A fundamental aspect of any concurrent system is how processes communicate with each other. Ultimately, all communication involves concurrent reads and writes of shared memory cells, or registers. The stronger the guarantees provided by a register, the more useful it is to the user, but the harder it may be to implement in practice. We consider the problem of implementing a k-ary regular (resp....
متن کاملBounds on the Costs of Register Implementations
A fundamental aspect of any concurrent system is how processes communicate with each other. Ultimately, all communication involves concurrent reads and writes of shared memory cells, or registers. The stronger the guarantees provided by a register, the more useful it is to the user, but the harder it may be to implement in practice. Thus it is of interest to determine which types of registers c...
متن کاملWait-Free Handshaking Using Rainbow Colouring
The construction of shared data objects is a fundamental issue in asynchronous concurrent systems, since these objects provide the means for communication and synchronization between processes. Constructions which guarantee that concurrent access to the shared object by processes is free from waiting are of particular interest, since they help to increase the amount of parallelism and to provid...
متن کاملWait-Free Handshaking using Rainbow Coloring
The construction of shared data objects is a fundamental issue in asynchronous concurrent systems, since these objects provide the means for communication and synchronization between processes. Constructions which guarantee that concurrent access to the shared object by processes is free from waiting are of particular interest, since they help to increase the amount of parallelism and to provid...
متن کاملCollected Size Semantics for Functional Programs over Lists
This work introduces collected size semantics of strict functional programs over lists. The collected size semantics of a function definition is a multivalued size function that collects the dependencies between every possible output size and the corresponding input sizes. Such functions annotate standard types and are defined by conditional rewriting rules generated during type inference. We f...
متن کامل